计组头哥实验 实验三 MIPS寄存器实验

您所在的位置:网站首页 realvideo 视频怎么解复用 计组头哥实验 实验三 MIPS寄存器实验

计组头哥实验 实验三 MIPS寄存器实验

2024-01-30 23:35| 来源: 网络整理| 查看: 265

实验目的

学生了解 MIPS 寄存器文件基本概念,进一步熟悉多路选择器、译码器、解复用器等 Logisim 组件的使用,并利用相关组件构建 MIPS 寄存器文件。

实验内容

1.利用 Logisim 平台构建一个简化的 MIPS 寄存器文件,内部包含4个32位寄存器,其具体引脚与功能描述如下表。

2.输入输出关系  根据下图完成向4个寄存器的输入和输出

3.电路测试完成存储扩展设计后,可以在寄存器文件自动测试电路中进行测试,电路会自动进行评分,如上图所示。

4.确认实验完成正确后,可利用文本编辑工具打开storage.circ ,将所有文字信息复制粘贴到 Educoder 平台的 storage.circ 文件中,再点击评测按钮即可进行本关测试。平台会对你设计的电路进行自动测试,为方便测试,请勿修改子电路封装。本关测试用例可以仿照下面的例子,但不能使用同样的数据。(同一组数据应该能观察到写是能端WE为0和1,CLK由0到1,和0.1不变、由1到0 ,数据输入和输出的对应关系,)

实验过程

1.理解 MIPS 寄存器文件的基本概念和原理。MIPS 寄存器文件是一个包含多个专用寄存器的模块,在 MIPS 处理器中负责存储和管理程序运行时的各种状态信息。

2.打开 Logisim 平台,并在工具栏中找到多路选择器、译码器、解复用器等组件。使用这些组件构建一个简化的 MIPS 寄存器文件,内部包含 4 个 32 位寄存器。注意正确连接各个组件之间的输入输出端口,以保证电路设计正确。

在 Logisim 平台中添加多路选择器组件,设置其输入端口的个数为 4,宽度为 32 位。同时添加译码器组件和解复用器组件,分别用于将地址输入转换为单个信号和将单个信号分配到 4 个输出端口。

 4.根据寄存器文件的结构和数据通路原理,逐步将各个组件连接起来。具体来说,需要将地址输入端口与译码器相连,将译码器的输出端口与多路选择器的地址端口相连,并将多路选择器的输出端口分别与 4 个寄存器的数据输入端口相连。

5. 完成电路设计后,可以利用 Logisim 平台的仿真功能进行测试。在测试时,可以通过手动输入不同的地址和数据,并观察各个寄存器的输出结果是否正确。

 6.在测试过程中,如果发现电路输出结果不正确,需要逐步排查错误的原因。常见的错误包括:输入数据格式错误、电路连接错误、计算过程中溢出等。此时可以将输入数据和电路输出结果与参考模型进行比较,以便更快地定位和解决问题。

7..确认实验完成正确后,可利用文本编辑工具打开storage.circ ,将所有文字信息复制粘贴到 Educoder 平台的 storage.circ 文件中,再点击评测按钮即可进行本关测试。

实验详细操作步骤

 1.理解 MIPS 寄存器文件的基本概念和原理,了解其中包含的 4 个 32 位寄存器。

    2.打开 Logisim 平台,并在工具栏中找到多路选择器、译码器、解复用器等组件。使用这些组件构建一个简化的 MIPS 寄存器文件,内部包含 4 个 32 位寄存器。注意正确连接各个组件之间的输入输出端口,以保证电路设计正确。

   3. 根据下图(或者实验指导书提供的其他图片)完成向 4 个寄存器的输入和输出。输入信号包括:写使能端口(WE)、读使能端口(RE)、数据输入端口(Data In)、地址输入端口(Addr In)。输出信号包括:数据输出端口(Data Out)。

    4.完成电路设计后,利用 Logisim 平台提供的仿真功能进行测试。在测试时,可以通过手动输入不同的地址和数据,并观察各个寄存器的输出结果是否正确。

    5.完成测试后,可以对电路进行评分。评分的计算方式由 Educoder 平台提供,可以帮助学生更好地了解和掌握 MIPS 寄存器文件的基本原理和操作方法。

    6.最后,确认实验完成正确后,可以将所有文字信息复制粘贴到 Educoder 平台的 storage.circ 文件中,再点击评测按钮即可进行本关测试。在测试时需要注意:不要修改子电路封装;可以仿照提供的测试用例进行验证,但不能使用相同的数据。

电路框架

alu.circ

电路引脚

 

电路测试

电路框架提供了自动测试子电路,也可以自行评分,具体测试电路如下图所示:

 实验结果

 

 疑难小结

本次实验虽然难度不高,但是依然有不少收获。我对于寄存器、多路选择器、解复用器的理解加深了,同时在使用上更加熟练。特别是寄存器,我注意到在一个脉冲中如果要对寄存器中的数据进去操作,对数据的读取是在写入前面的,从本次实验的结果中来看,如果要通过寄存器将本次写入的数据读出,需要等到之后的脉冲,而且我认为在同一脉冲下对写入数据的读取也不应该是寄存器的意义所在。本次实验同时使我积累的经验,尤其是对故障进行调试的经验,同时使我认识到在设计电路前一定要先弄清楚各个引脚的功能与实验要求。本次实验使我收获良多。

以下是我实验中遇到的问题

1.如何使用多路选择器?

多路选择器是一种常用的数字电路组件,用于将多个输入信号中的一个输出到单个输出端口。在 Logisim 平台上,可以通过在工具栏中找到“逻辑门”选项,然后选择“多路选择器”组件来添加多路选择器。在使用时,需要设置输入端口的个数和宽度,并正确连接各个输入和输出端口。

2.如何使用译码器?

译码器是一种将数字信号转换为其他形式的数字电路组件,例如将二进制代码转换为十进制数、ASCII 码等。在 Logisim 平台上,可以通过在工具栏中找到“译码器”选项,然后选择“译码器”组件来添加译码器。在使用时,需要将输入信号与不同的输出端口相连,并设置每个输入信号所代表的含义。

 3.如何使用解复用器?

解复用器是一种将单个输入信号分配到多个输出端口的数字电路组件。在 Logisim 平台上,可以通过在工具栏中找到“逻辑门”选项,然后选择“多路选择器”组件来添加解复用器。在使用时,需要设置输出端口的个数和宽度,并正确连接输入端口和各个输出端口。

4.在进行测试时,如果发现电路输出结果不正确,应该如何排查错误?

在进行测试时,可能会发现电路输出结果不正确。这时需要仔细检查电路设计和仿真设置,并逐步排查错误的原因。常见的错误包括:输入数据格式错误、电路连接错误、计算过程中溢出等。此时可以将输入数据和电路输出结果与参考模型进行比较,以便更快地定位和解决问题。

 5.如果完成测试后评分不满足要求,应该怎么办?

如果完成测试后评分不满足要求,建议仔细阅读实验指导书,重新检查电路设计和测试用例,并尝试修改参数和优化设计。同时还可以寻求同学或老师的帮助,在他们的指导下进一步改进电路设计,以获得更好的成绩。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3